﻿#ifndef WRWORKMAINACTIONCLASS
#define WRWORKMAINACTIONCLASS

#include "WRWorkMainActionGroup.h"

//表示工作主功能分类。
class WRWorkMainActionClass
{
private:
    //图形。
    QIcon m_icon;
    //名称
    QString m_name;
    //标题。
    QString m_title;
    //描述。
    QString m_description;
    //分组集合。
    WRArray<WRWorkMainActionGroup> m_groups;

public:
    //初始化工作主菜单分类。
    inline WRWorkMainActionClass(void)
    {
        //add code here
    }
    //初始化工作主菜单分类。
    inline WRWorkMainActionClass(const QIcon& icon, const QString& name, const QString& title, const QString& description, const WRArray<WRWorkMainActionGroup>& groups)
        : m_icon(icon), m_name(name), m_title(title), m_description(description), m_groups(groups)
    {
        //add code here
    }

    //复制构造函数。
    inline WRWorkMainActionClass(const WRWorkMainActionClass& other)
        : m_icon(other.m_icon), m_name(other.m_name), m_title(other.m_title), m_description(other.m_description), m_groups(other.m_groups)
    {
        //add code here
    }
    //赋值操作符。
    inline WRWorkMainActionClass& operator=(const WRWorkMainActionClass& other)
    {
        if (&other != this)
        {
            m_icon = other.m_icon;
            m_name = other.m_name;
            m_title = other.m_title;
            m_description = other.m_description;
            m_groups = other.m_groups;
        }
        return *this;
    }

    //获取图标。
    inline const QIcon& icon(void) const
    {
        return m_icon;
    }
    //获取名称。
    inline const QString& name(void) const
    {
        return m_name;
    }
    //获取标题。
    inline const QString& title(void) const
    {
        return m_title;
    }
    //获取描述。
    inline const QString& description(void) const
    {
        return m_description;
    }
    //获取分组集合。
    inline const WRArray<WRWorkMainActionGroup>& groups(void) const
    {
        return m_groups;
    }
};

#endif // WRWORKMAINACTIONCLASS

